Systems and methods for reducing complexity in modulation coding scheme (mcs) adaptation

ABSTRACT

The computational complexity of MCS adaptation for linear and non-linear MU-MIMO can be reduced by avoiding QR decomposition during subsequent stages of MCS adaptation. For instance, QR decomposition can be avoided in later stages of MCS adaptation by computing an instant upper right triangular matrix (R 1 ) directly from an earlier upper right triangular matrix (R) and an earlier unitary matrix (U), which were obtained during a previous stage of MCS adaptation. As such, the instant upper right triangular matrix (R 1 ) is obtained without performing QR decomposition on an instant Hermitian matrix (H 1   H ), thereby allowing MCS adaptation to be performed for the new user group with less complexity. Additionally, computational complexity of MCS adaptation for linear MU-MIMO can be further reduced by avoiding matrix inversion during subsequent stages of MCS adaptation.

TECHNICAL FIELD

The present disclosure relates generally to wireless communications,and, in particular embodiments, to systems and methods for reducingcomplexity in modulation coding scheme (MCS) adaptation.

BACKGROUND

Modern communications networks utilize modulation coding scheme (MCS)adaptation to match signal transmission parameters to conditions of aradio link. Specifically, MCS adaptation is used to predict the codingrate for users during uplinkdownlink scheduling, and is particularlyuseful when pairing users during multi-user multiple input multipleoutput (MU-MIMO) downlink scheduling. One drawback is that MCSadaptation becomes increasingly complex as users are added to thenetwork. For instance, conventional MCS adaptation for MU-MIMO downlinkscheduling can approach an order of cubic the number of transmit antenna(e.g., O(N³) for a system having N transmit antennas). Accordingly,techniques and mechanisms for reducing the complexity of MCS adaptationare desired in order to better preserve network resources, e.g.,processing or otherwise.

SUMMARY OF THE INVENTION

Technical advantages are generally achieved by embodiments of thisdisclosure, which describe systems and methods for reducing complexityduring MCS adaptation.

In accordance with an embodiment, a method for user selection isprovided. In this example, the method includes selecting users for aninitial user group and computing initial modulation coding schemes(MCSs) for users in the initial user group. Computing the initial MCSsfor the users in the initial user group may include performing aninitial QR decomposition operation for the initial user group. Themethod further includes adding a new user to the initial user group toobtain a new user group and computing a new MCS for the new user in thenew user group, wherein computing the new MCS for the new user includescalculating the new MCS directly using information obtained from theinitial QR decomposition operation and without performing a QRdecomposition operation for the new user group. An apparatus forperforming this method is also provided.

In accordance with another embodiment, another method for user selectionis provided. In this example, the method includes selecting users for aninitial user group, performing QR decomposition on an initial Hermitianmatrix (H^(H)) associated with the initial user group to obtain aninitial unitary matrix (Q) and an initial upper triangular matrix (R),adding a new user to the initial user group to obtain a new user group,and performing modulation coding scheme (MCS) adaptation for the newuser group. The new user group associated with a new Hermitian matrix(H₁ ^(H)), and performing MCS adaptation for the new user group includescomputing a last column (r₁) of a new upper triangular matrix (R₁)corresponding to the new Hermitian matrix (H₁ ^(H)) directly from atleast the initial unitary matrix (Q) and the initial upper triangularmatrix (R), thereby obtaining the new upper triangular matrix (R₁)without performing QR decomposition on the new Hermitian matrix (H₁^(H)), and calculating MCSs for users in the new user group inaccordance with the new upper triangular matrix (R₁).

In accordance with yet another embodiment, another method for userselection is provided. In this example, the method includes adding afirst new user to an initial user group to obtain a first new usergroup. The first new user group associated with a first new Hermitianmatrix (H₁ ^(H)). The method further includes computing a first newunitary matrix (Q₁) and a first new upper triangular matrix (R₁)corresponding to the first new Hermitian matrix (H₁ ^(H)), adding asecond new user to the initial user group to obtain a second new usergroup, the second new user group associated with a second new channelmatrix (H₂), computing a second new unitary matrix (Q₂) and a second newupper triangular matrix (R₂) corresponding to the second new Hermitianmatrix (H₂ ^(H)), adding both the first new user and the second new userto the initial user group to obtain a third new user group, andperforming modulation coding scheme (MCS) adaptation for the third newuser group. The third new user group associated with a third new channelmatrix (H₁₂), and performing MCS adaptation for the third new user groupincludes computing a last column (r₁₂) of a third new upper triangularmatrix (R₁₂) corresponding to the third new channel matrix (H₁₂)directly from at least the first new unitary matrix (Q₁), the first newupper triangular matrix (R₁), the second new unitary matrix (Q₂), andthe second new upper triangular matrix (R₂), thereby obtaining the thirdnew upper triangular matrix (R₁₂) without performing QR decomposition onthe third new Hermitian matrix (H₁₂ ^(H)), and predicting MCSs for usersin the new user group in accordance with the third new upper triangularmatrix (R₁₂). An Apparatus for performing this method is also provided.

In accordance with yet another embodiment, another method for userselection is provided. In this example, the method includes selectingusers for an initial user group for which an initial channel matrix (H)corresponds, performing QR decomposition on an initial Hermitian matrix(H^(H)) associated with the initial user group to obtain an initialunitary matrix (Q) and an initial upper triangular matrix (R), invertingthe upper triangular matrix (R) to obtain an initial inverted uppertriangular matrix (R⁻¹), adding a new user to the initial user group toobtain a new user group, and performing modulation coding scheme (MCS)adaptation for the new user group. The new user group is associated witha new Hermitian matrix (H₁ ^(H)), and performing MCS adaptation for thenew user group includes computing a new unitary matrix (Q₁) and a newupper triangular matrix (R₁) corresponding to the new Hermitian matrix(H₁ ^(H)), computing a last column (s₁) of a new inverted uppertriangular matrix (R₁ ⁻¹) corresponding to the new upper triangularmatrix (R₁) directly from at least the new unitary matrix (Q₁) and alast column (r₁) of the new upper triangular matrix (R₁), therebyobtaining the new inverted upper triangular matrix (R₁ ⁻¹) withoutperforming matrix inversion on the new upper triangular matrix (R₁), andpredicting MCSs for users in the new user group in accordance with thenew inverted upper triangular matrix (R₁ ⁻¹). An apparatus forperforming this method is also provided.

SUMMARY OF THE FIGURES

For a more complete understanding of the present disclosure, referenceis now made to the following descriptions taken in conjunction with theaccompanying drawings, in which:

FIG. 1 illustrates a wireless communications network.

FIG. 2 illustrates a wireless communications network configured forMU-MIMO;

FIG. 3 illustrates a flowchart of an embodiment method for performingMCS adaptation to predict coding rates during non-linear MU-MIMO userselection;

FIG. 4 illustrates a flowchart of another embodiment method forperforming MCS adaptation to predict coding rates during non-linearMU-MIMO user selection;

FIG. 5 illustrates an embodiment method for performing MCS adaptation topredict coding rates during linear MU-MIMO user selection;

FIG. 6 illustrates another embodiment method for performing MCSadaptation to predict coding rates during linear MU-MIMO user selection;and

FIG. 7 illustrates a high-level block diagram of a communicationsdevice.

Corresponding numerals and symbols in the different figures generallyrefer to corresponding parts unless otherwise indicated. The figures aredrawn to clearly illustrate the relevant aspects of this disclosure andare not necessarily drawn to scale.

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

The making and using of the presently disclosed embodiments arediscussed in detail below. It should be appreciated, however, that thepresent invention provides many applicable concepts that can be embodiedin a wide variety of specific contexts. The specific embodimentsdiscussed are merely illustrative of specific ways to make and use theinvention, and do not limit the scope of the invention.

Much of the complexity associated with MCS adaptation for MU-MIMO isattributable to processing related to QR decomposition, which is acomputation performed to calculate MCSs for users in a user group. Morespecifically, QR decomposition is performed on a Hermitian MU-MIMOchannel matrix (H^(H)) corresponding to a new user group in order toobtain an upper-right triangular matrix (R). The upper-right triangularmatrix (R) (or an inverse thereof) is used to calculate the MCSscorresponding to a MU-MIMO channel extending between the transmitter andthe users in the instant user group. During conventional MCS adaptation,QR decomposition is performed for each evaluated user group. Forinstance, QR decomposition is performed for each possible user groupcomputation when user selection is based on a brute-force or exhaustivesearch approach. As a result, the complexity associated withconventional MCS adaptation for MU-MIMO downlink scheduling can approachan order of cubic the number of transmit antenna (e.g., O(N³) for asystem having N transmit antennas).

Aspects of this disclosure reduce the computational complexity of MCSadaptation for MU-MIMO by circumventing QR decomposition duringsubsequent stages of MCS adaptation. More specifically, an instant upperright triangular matrix (R₁) is computed directly from an earlier upperright triangular matrix (R) and an earlier unitary matrix (U), whichwere obtained during an earlier stage of MCS adaptation. As such, theinstant upper right triangular matrix (R₁) is obtained withoutperforming QR decomposition on the instant Hermitian matrix (H₁ ^(H)).Additional aspects of this disclosure circumvent inversion of theinstant upper right triangular matrix (R₁) to further reduce thecomputational complexity of MCS adaptation during non-linear MU-MIMOuser selection. As discussed herein, calculating MCSs for users in auser group refers to any computation relating to the selection of acoding and modulation scheme for transmissions to users in the usergroup. For instance, calculating MCSs for a user group may includecalculating/predicting Shannon rates for users in the user group basedon an upper right triangular matrix (e.g., obtained through QRdecomposition or alternative mechanisms described herein), and thenmapping the Shannon rates to MCSs for users in the user group. Mappingthe Shannon rates to MCSs of users in the user group may be achieved ina variety of ways, some of which are discussed in chapter 9 of CiscoWireless LAN Configuration Guide (Release 7.0.116.0), which isincorporated herein by reference as if reproduced in its entirety. Forinstance, table 9-3 in the Cisco Wireless LAN Configuration Guide showsa mapping of required link SNR (last column) to MCS (second column).Other mappings may also be used.

FIG. 1 illustrates a wireless network 100 comprising an eNBs 110configured to provide wireless access to a plurality of UEs 120-160 in acellular coverage area (cell) 101. The eNB 110 may be any deviceconfigured to provide wireless access, and may be any one of a number ofwireless devices including NodeBs, base stations, communicationscontrollers, controllers, femtocells, home base stations, etc. The UEs120-160 may be any device that allows a user to access the wirelessnetwork 100, and may be commonly referred to as mobile stations,subscribers, terminals, users, etc. In some embodiments, the wirelessnetwork 100 may include other wireless devices (not shown), includingrelays, femtocells, picocells, etc. As depicted in FIG. 1, the UEs110-160 may communicate with the eNB 110 over the wireless links (dashedarrows). In some systems, multi-antenna transmission techniques may beused to communicate over one or more of the wireless links in order toimprove wireless performance (e.g., throughput, coverage, etc.) of thewireless network 100. As discussed herein, the terms user, mobilestation, terminal, user terminal, subscriber, subscriber device,station, and UE may be used interchangeably. User groups may be selectedby a network controller, which may be an eNB or a central controllerscheduler.

FIG. 2 illustrates a wireless network 200 in which an eNB 210 isconfigured to perform multi-antenna downlink transmissions to the UEs220-280. In embodiments, the eNB 210 may perform multi-antenna downlinktransmissions in accordance with a linear or non-linear MU-MIMOtransmission technique, which may include assigning spatial resources toUEs 220-280. More specifically, the eNB 210 may perform MCS adaptationto determine which group of the UEs 220-280 (referred to herein as a‘user group’) should be scheduled for a given time-frequency instance,as well as to determine which precoding weights (e.g., spatialresources) to assign to those users. MCS adaptation may includecomputing a utility function (also called a sum of utility functions or‘sum utility function’ for short) for at least some of the possible usergroups/combinations to determine which pairing of users maximizes theutility function (also called a sum of utility functions). The sumutility function may be determined in accordance with various weightedfactors, such as coverage, throughput, latency, and others, and may beused a general yardstick for judging the performance of the networkwithin the context of objectives set forth by the network administrator.When an exhaustive search is used, all possible user group combinationsare considered. When a non-exhaustive search (e.g., schedule and pairapproach, etc.) is used, fewer than all possible user group combinationsare considered.

Conventional MCS adaptation performs QR decomposition for each evaluateduser group. Aspects of this disclosure provide an alternative to QRdecomposition during subsequent stages of MCS adaptation for non-linearMU-MIMO. FIG. 3 illustrates a method 300 for performing MCS adaptationto calculate MCSs during non-linear MU-MIMO user selection, as might beperformed by a network controller. The method 300 begins at step 310,where the network controller selects users for an initial user group.The method 300 then proceeds to step 320, where the network controllercomputes an initial Hermitian matrix (H^(H)) of an initial channelmatrix (H) associated with the initial user group. Thereafter, themethod 300 proceeds to step 330, where the network controller performsQR decomposition on the initial Hermitian matrix (H^(H)) to obtain aninitial unitary matrix (Q) and an initial upper triangular matrix (R).Next, the method 300 proceeds to step 340, where the network controlleradds a first user to the initial user group to obtain a new user group.Subsequently, the method 300 proceeds to step 350, where the networkcontroller computes an initial Hermitian matrix (H₁ ^(H)) of a firstchannel matrix (H₁) associated with the new user group.

Next, the method 300 proceeds to step 360, where the network controllercomputes a first unitary matrix (Q₁) corresponding to the firstHermitian matrix (H₁ ^(H)) directly from the initial unitary matrix (Q).That is to say, the network controller computes the first unitary matrix(Q₁) without performing QR decomposition on the first Hermitian matrix(H₁ ^(H)). More specifically, the network controller computes the lastcolumn (e₁) of the first unitary matrix (Q₁) in accordance with theformula:

${e_{1} = \frac{h_{1}^{H} - {\sum\limits_{k = 1}^{K}{proj}_{q_{k}}^{h_{1}^{H}}}}{{h_{1}^{H} - {\sum\limits_{k = 1}^{K}{proj}_{q_{k}}^{h_{1}^{H}}}}}},$

where h₁ ^(H) is a column in the first Hermitian matrix (H₁ ^(H)) thatcorresponds to the new user, proj_(q) _(k) ^(h) ¹ ^(H) is a vectorprojection of the h₁ ^(H) onto a k^(th) column (q_(k)) of the initialunitary matrix (Q), and K is a number of users in the initial usergroup.

Thereafter, the method 300 proceeds to step 370, where the networkcontroller computes a first upper triangular matrix (R₁) correspondingto the first Hermitian matrix (H₁ ^(H)) directly from the first unitarymatrix (Q₁) and the initial upper triangular matrix (R). That is to say,the network controller computes the first upper triangular matrix (R₁)without performing QR decomposition on the first Hermitian matrix (H₁^(H)). More specifically, the elements of the last column (r₁) of thefirst upper triangular matrix (R₁) are computed in accordance with thefollowing formula:

$\lbrack r_{1} \rbrack_{k} = \{ {\begin{matrix}{\langle{q_{k},h_{1}^{H}}\rangle} & {{k = 1},\ldots \mspace{14mu},K} \\{\langle{e_{1},h_{1}^{H}}\rangle} & {k = {K + 1}}\end{matrix},} $

where [r₁]_(k) is a value for a k^(th) element of the last column (r₁)of the first upper triangular matrix (R₁), and where (K+1) is a numberof users in the first new user group.

Finally, the method 300 proceeds to step 380, where the networkcontroller uses the first upper triangular matrix (R₁) to calculate MCSsfor users in the new user group. More specifically, the MCS for eachuser in the new user group in accordance with the formula:

${r_{k} = {\log( {1 + \frac{r_{kk}^{2}}{{KN}_{0}}} )}},$

where r_(k) is a calculated rate for a k^(th) user in the first new usergroup.

Aspects of this disclosure can also be applied to later stages of MCSadaptation. FIG. 4 illustrates a method 400 for performing MCSadaptation to calculate coding rates during non-linear MU-MIMO userselection, as might be performed by a network controller. The method 400begins at step 410, where the network controller adds a first new userto an initial user group. Next, the method 400 proceeds to step 420,where the network controller computes a first upper triangular matrix(R₁) and a first unitary matrix (Q₁) corresponding to a first channelmatrix (H₁) associated with the first new user group. The first uppertriangular matrix (R₁) and a first unitary matrix (Q₁) may be computeddirectly from a known upper triangular matrix (R) and a known unitarymatrix (Q) corresponding to the initial user group using techniquesdiscussed supra in FIG. 3. Alternatively, the first upper triangularmatrix (R₁) and a first unitary matrix (Q₁) may be computed byperforming QR decomposition on a first Hermitian matrix (H₁ ^(H)) of thefirst channel matrix (H₁).

Thereafter, the method 400 proceeds to step 430, where the networkcontroller adds a second new user to the initial user group to obtain asecond new user group. Subsequently, the method 400 proceeds to step440, where the network controller computes a second upper triangularmatrix (R₂) and a second unitary matrix (Q2) corresponding to a secondchannel matrix (H₂) associated with the second new user group. Thesecond upper triangular matrix (R₂) and the second unitary matrix (Q₂)may be computed directly from the known upper triangular matrix (R) andthe known unitary matrix (Q) corresponding to the initial user groupusing techniques discussed supra in FIG. 3. Alternatively, the secondupper triangular matrix (R₂) and the second unitary matrix (Q₂) may becomputed by performing QR decomposition on a second Hermitian matrix (H₂^(H)) of the second channel matrix (H₂).

Next, the method 400 proceeds to step 450, where the network controlleradds both the first user and the second new user to the initial usergroup to obtain a combined user group. Thereafter, the method 400proceeds to step 460, where the network controller computes a thirdHermitian matrix (H₁₂ ^(H)) for a third channel matrix (H₁₂) associatedwith the combined user group. Subsequently, the method 400 proceeds tostep 470, where the network controller computes a third unitary matrix(Q₁₂) corresponding to the third Hermitian matrix (H₁₂ ^(H)) directlyfrom the first unitary matrix (Q₁) and the second unitary matrix (Q₂).For example, the network controller computes the third unitary matrix(Q₁₂) without performing QR decomposition on the third Hermitian matrix(H₁₂ ^(H)). More specifically, the third unitary matrix (Q₁₂) isexpressed as follows: Q₁₂=[Q₁ e₁₂]_(N×(K+2)), where e₁₂ is the lastcolumn of the third unitary matrix (Q₁₂). The last column (e₁₂) may becomputed in accordance with the formula:

${e_{12} = \frac{h_{2}^{H} - {\sum\limits_{k = 1}^{K + 1}{proj}_{q_{k}}^{h_{2}^{H}}}}{{h_{2}^{H} - {\sum\limits_{k = 1}^{K + 1}{proj}_{q_{k}}^{h_{2}^{H}}}}}},$

where h₂ ^(H) is a column in the third Hermitian matrix (H₁₂ ^(H)) thatcorresponds to the second new user, proj_(q) _(k) ^(h) ² ^(H) is avector projection of the h₂ ^(H) onto a k^(th) column (q_(k)) of thefirst unitary matrix (Q₁), and K is a number of users in the initialuser group.

Next, the method 400 proceeds to step 480, where the network controllercomputes a third upper triangular matrix (R₁₂) corresponding to thethird Hermitian matrix (H₁₂ ^(H)) directly from the first uppertriangular matrix (R₁), the second upper triangular matrix (R₂), andthird unitary matrix (Q₁₂). That is to say, the third upper triangularmatrix (R₁₂) is computed without performing QR decomposition on thethird Hermitian matrix (H₁₂ ^(H)). More specifically, the third uppertriangular matrix (R₁₂) may be expressed as follows:

${R_{12} = \begin{bmatrix}\underset{0\mspace{14mu} \ldots \mspace{14mu} 0}{R_{1}} & r_{12}\end{bmatrix}_{{({K + 2})} \times {({K + 2})}}},$

where r₁₂ is the last column of the third upper triangular matrix (R₁₂).The last column (r₁₂) may be computed in accordance with the formula:

$\lbrack r_{12} \rbrack_{k} = \{ {\begin{matrix}{\langle{q_{k},h_{12}^{H}}\rangle} & {{k = 1},\ldots \mspace{14mu},K} \\{\langle{e_{1},h_{12}^{H}}\rangle} & {k = {K + 1}} \\{\langle{e_{12},h_{12}^{H}}\rangle} & {k = {K + 2}}\end{matrix},} $

where [r₁₂]_(k) is a value for a k^(th) element of the last column (r₁₂)of the third upper triangular matrix (R₁₂), and where (K+1) is a numberof users in the first new user group, and where (K+2) is a number ofusers in the third new user group. Finally, the method 400 proceeds tostep 490, where the network controller uses the third upper triangularmatrix (R₁₂) to calculate MCSs for users in the combined user group.

Aspects of this disclosure also provide an alternative to QRdecomposition during subsequent stages of MCS adaptation for linearMU-MIMO. FIG. 5 illustrates a method 500 for performing MCS adaptationto predict coding rates during linear MU-MIMO user selection, as mightbe performed by a network controller. The method 500 begins at step 510,where the network controller selects users for an initial user group.The method 500 then proceeds to step 520, where the network controllercomputes an initial Hermitian matrix (H^(H)) of an initial channelmatrix (H) associated with the initial user group. Thereafter, themethod 500 proceeds to step 530, where the network controller performsQR decomposition on the initial Hermitian matrix (H^(H)) to obtain aninitial unitary matrix (Q) and an initial upper triangular matrix (R).Next, the method 500 proceeds to step 540, where the network controllerinverts the initial upper triangular matrix (R) to obtain an initialinverted upper triangular matrix (R⁻¹). Thereafter, the method 500proceeds to step 550, where the network controller adds a first user tothe initial user group to obtain a new user group. Subsequently, themethod 500 proceeds to step 560, where the network controller computesan initial Hermitian matrix (H₁ ^(H)) of a first channel matrix (H₁)associated with the new user group. Thereafter, the method 500 proceedsto steps 570 and 580, where the network controller computes a firstunitary matrix (Q₁) and a first upper triangular matrix (R₁)corresponding to the first Hermitian matrix (H₁ ^(H)) directly from theinitial unitary matrix (Q) and the initial upper triangular matrix (R)in a manner similar to that described in FIG. 3., e.g., withoutperforming QR decomposition on the first Hermitian matrix (H₁ ^(H)).

Next, the method proceeds to step 585, where the network controllercomputes a first inverted upper triangular matrix (R₁ ⁻¹) of the firstupper triangular matrix (R₁) recursively without performing matrixinversion on the first upper triangular matrix (R₁). More specifically,the first inverted upper triangular matrix (R₁ ⁻¹) may be expressed asfollows:

${R_{1}^{- 1} = \lfloor {\underset{0\mspace{14mu} \ldots \mspace{14mu} 0}{R^{- 1}}\mspace{14mu} \underset{1}{s}} \rfloor},$

where s₁ is the last column of the first inverted upper triangularmatrix (R₁ ⁻¹).

The last column (s₁) can be computed in accordance with the following:

${\lbrack s_{1} \rbrack_{K + 1} = \frac{1}{\lbrack r_{1} \rbrack_{K + 1}}},{\lbrack s_{1} \rbrack_{K} = {{\frac{- \lbrack r_{1} \rbrack_{K}}{{\lbrack R\rbrack_{KK}\lbrack r\rbrack}_{K + 1}}\mspace{14mu} {{and}\lbrack s_{1} \rbrack}_{i - 1}} = {\frac{- 1}{\lbrack R\rbrack_{{({i - 1})}{({i - 1})}}}( {{\sum\limits_{j = 1}^{K}{\lbrack R\rbrack_{{({i - 1})}j}\lbrack s_{1} \rbrack}_{j}} - \frac{\lbrack r_{1} \rbrack_{i - 1}}{\lbrack r_{1} \rbrack_{K + 1}}} )}}},{i = K},{K - 1},\ldots \mspace{14mu},2$

In embodiments, the above may be consolidated as follows:

$\lbrack s_{1} \rbrack_{k} = \{ {\begin{matrix}{{\frac{- 1}{\lbrack R\rbrack_{{(k)}{(k)}}}( {{\sum\limits_{j = {k + 1}}^{K}{\lbrack R\rbrack_{{(k)}j}\lbrack s_{1} \rbrack}_{j}} - \frac{\lbrack r_{1} \rbrack_{k}}{\lbrack r_{1} \rbrack_{K + 1}}} )},} & {{k = 1},\ldots \mspace{14mu},( {K - 1} )} \\{\frac{- \lbrack r_{1} \rbrack_{K}}{{\lbrack R\rbrack_{KK}\lbrack r_{1} \rbrack}_{K + 1}},} & {k = K} \\{\frac{1}{\lbrack r_{1} \rbrack_{K + 1}},} & {k = {K + 1}}\end{matrix}.} $

Finally, the method 500 proceeds to step 590, where the networkcontroller uses the first inverted upper triangular matrix (R₁ ⁻¹) tocompute a scaling factor (c) used for calculating MCSs for users in thenew user group. More specifically, the scaling factor (c) is computed inaccordance with the following formula:

${c = \frac{1}{\sqrt{\sum\limits_{k = 1}^{K}{d_{k}^{2} \times {\lbrack R^{- 1} \rbrack_{k}}^{2}}}}},$

where d_(k) is a k^(th) diagonal element of a diagonal matrix (D)representing precoder power allocation, and [R⁻¹]_(k) is a vectorcorresponding to a k^(th) row of the first inverted upper triangularmatrix (R₁ ⁻¹). After computing the scaling factor (c), the networkcontroller can predict the MCS for each user in the new user group inaccordance with the formula:

${{Rate}_{k} = {\log( {1 + \frac{c^{2}d_{k}^{2}}{N_{0}}} )}},$

where Rate_(k) is the Shannon rate for a k^(th) user, and N₀ is thenoise power.

Aspects related to FIG. 5 can also be applied to later stages of MCSadaptation. FIG. 6 illustrates a method 600 for performing MCSadaptation to predict coding rates during linear MU-MIMO user selection,as might be performed by a network controller. The method 600 begins atstep 610, where the network controller adds a first new user to aninitial user group. Next, the method 600 proceeds to step 620, where thenetwork controller computes a first inverted upper triangular matrix (R₁⁻¹) corresponding to a first Hermitian channel matrix (H₁ ^(H))associated with the first new user group. Thereafter, the method 600proceeds to step 630, where the network controller adds a second newuser to the initial user group to obtain a second new user group.

Subsequently, the method 600 proceeds to step 640, where the networkcontroller computes a second inverted upper triangular matrix (R₂ ⁻¹)corresponding to a second Hermitian channel matrix (H₂ ^(H)) associatedwith the second new user group. Next, the method 600 proceeds to step650, where the network controller adds both the first user and thesecond new user to the initial user group to obtain a combined usergroup. Thereafter, the method 600 proceeds to step 660, where thenetwork controller computes a third upper triangular matrix (R₁₂) and athird unitary matrix (Q₁₂) corresponding to the third Hermitian matrix(H₁₂ ^(H)). Subsequently, the method 600 proceeds to step 670, where thenetwork controller computes a third inverted upper right triangularmatrix (R₂ ⁻¹) directly from the first new upper triangular matrix (R₁⁻¹) and the second inverted upper triangular matrix (R₂ ⁻¹) withoutperforming matrix inversion on the third upper triangular matrix (R₁₂).More specifically, the first new upper triangular matrix (R₁ ⁻¹) can beexpressed as

${R_{1}^{- 1} = \begin{bmatrix}R^{- 1} & {- {{R^{- 1}\lbrack r_{1} \rbrack}_{1:K}\lbrack r_{1} \rbrack}_{K + 1}^{- 1}} \\{00\mspace{14mu} \ldots \mspace{14mu} 0} & \lbrack r_{1} \rbrack_{K + 1}^{- 1}\end{bmatrix}},$

the second new inverted upper triangular matrix (R₂ ⁻¹) can be expressedas

${R_{2}^{- 1} = \begin{bmatrix}R^{- 1} & {- {{R^{- 1}\lbrack r_{2} \rbrack}_{1\text{:}K}\lbrack r_{2} \rbrack}_{K + 1}^{- 1}} \\{00\mspace{14mu} \ldots \mspace{14mu} 0} & \lbrack r_{2} \rbrack_{K + 1}^{- 1}\end{bmatrix}},$

and the third new inverted upper triangular matrix can be expressed as

$R_{12}^{- 1} = {\begin{bmatrix}R_{1}^{- 1} & {{- {R_{1}^{- 1}\begin{bmatrix}\lbrack r_{2} \rbrack_{1\text{:}K} \\\alpha\end{bmatrix}}}\beta^{- 1}} \\{00\mspace{14mu} \ldots \mspace{14mu} 0} & \beta^{- 1}\end{bmatrix}.}$

Finally, the method 600 proceeds to step 680, where the networkcontroller uses the third inverted upper triangular matrix (R₁₂) tocalculate MCSs for users in the new user group.

The following is a brief description of the mathematical steps used toachieve aspects of this disclosure. During conventional MCS adaptationfor linear MU-MIMO user selection, a zero-forcing MU-MIMO precoder canbe expressed as: P_(N×K)=cH^(H)(HH^(H))⁻¹D where D_(K×K) is a diagonalmatrix with diagonal elements d₁, . . . , d_(K) to allow powerallocation on the columns of precoder, and c is a scalar to limit thetransmit power. The transmit signal is given by: x_(N×1)=P_(N×K)u_(K×1),here u_(K×1) is the vector of user signals chosen from a unit powerconstellation. Without loss of generality, the unit transmit power isgiven as follows:

tr(PP^(H))=c²tr(H^(H)(HH^(H))⁻¹D²(HH^(H))⁻¹H)tr(PP^(H))=c²tr(HH^(H))⁻¹D²)tr(PP^(H))=1

Accordingly, the scaling factor is then given by:

${c = \frac{1}{\sqrt{{tr}( {( {HH}^{H} )^{- 1}D^{2}} )}}},$

and the received signal at user k is given by y_(k) cd_(k)u_(k)+z_(k),k=1, . . . , K. In order to calculate the rate of users, (e.g., MCSadaptation for users) from the received signal equation, the scalingfactor c is calculated. For instance, if a Shannon rate is used for MCSadaptation, the rate of user k will be given by:

$r_{k} = {{\log( {1 + \frac{c^{2}d_{k}^{2}}{N_{0}}} )}.}$

Because matrix pseudo-inverse calculation is used to calculate thescaling factor c, the computational complexity of rate calculation (MCSadaptation for users) is on the order of the number of transmit antennascubed (e.g., complexity is O(N³).

During conventional MCS adaptation for non-linear MU-MIMO userselection, a MU-MIMO channel matrix by (H_(K×N)) of the MU-MIMO channelextending between the transmitter (having K transmit antennas) and auser group (having N users) is obtained through channel estimation.Next, a Hermitian matrix (H^(H)) is obtained by taking the conjugatetranspose of the MU-MIMO channel matrix. Thereafter, QR decomposition ofthe Hermitian matrix (H^(H)) is performed to obtain the upper-righttriangular matrix (R_(K+K)) in accordance with the following formula:H^(H)=Q_(N×K)R_(K×K), where Q_(N×K) is the unitary matrix of theHermitian matrix (H^(H)). The unitary matrix (Q_(N×K)) has orthonormalcolumns and the upper-right Triangular matrix (R_(K+K)) has diagonalelement (r_(kk)) having real, non-zero, values.

The orthogonal columns of (Q_(N×K)) may be expressed in vectors(u_(ii)), with u_(K×1), representing the vector of user signals chosenfrom a unit power constellation. A nonlinear operation is applied tou_(K×1), to obtain a nonlinearly precoded vector v_(K×1). Hence, thetransmitted signal (x_(N×1)) is given by x_(N×1)=Q_(N×K)v_(K×1). Thereceived vector (Y_(K+1)) containing the received signal of users isgiven by:

$\begin{matrix}{y_{K \times 1} = {{Hx} + z}} \\{= {{R^{H}Q^{H}{Qv}} + z}} \\{{= {{R^{H}v} + z}},}\end{matrix}$

where z is circularly symmetric Gaussian noise vector with covariancematrix R_(z)=N₀I.

Accordingly, the original MU-MIMO channel turns into L interferencesub-channels:

$\begin{matrix}{{y_{k} = {{r_{kk}v_{k}} + {\sum\limits_{j < k}{r_{jk}^{*}v_{j}}} + z_{k}}},} & {{k = 1},\ldots \mspace{14mu},K,{{{where}\mspace{14mu} r_{jk}} = {\lbrack R\rbrack_{jk}.}}}\end{matrix}$

Hence, user k experiences interference only from users j<k. Dirty papercoding (DPC) can be applied on each sub-channels in (1) to cancel theinterference on users. With DPC, the calculated rate of user k is givenby

$r_{k} = {{\log( {1 + \frac{r_{kk}^{2}}{{KN}_{0}}} )}.}$

However, DPC may be too complex for practical implementation. A lowercomplexity alternative to DPC may be zero forcing Tomlinson-Harashimaprecoding (ZF-THP), which includes the nonlinear step:

v₁ = u₁$v_{2} = {u_{2} - {\frac{r_{12}^{*}}{r_{22}}v_{1}} + {\tau \; l_{2}}}$⋮${v_{K} = {u_{K} - {\frac{r_{{({K - 1})}K}^{*}}{r_{KK}}v_{K - 1}} - \ldots - {\frac{r_{1K}^{*}}{r_{KK}}v_{1}} + {\tau \; l_{K}}}},$

where l₂, . . . , l_(k) are complex integers chosen such that elementsof the nonlinearly precoded vector v remain within the originalconstellation boundaries.

Regardless of which conventional approach is relied upon (e.g., DPC,ZF-THP, etc.), the diagonal element of R should be known in order tocalculate the MCS for users in the user group.

Assume K users are selected for DL MU-MIMO transmission using ZF-THP.Denote the corresponding MU-MIMO channel matrix by H_(K×N) Let the QRdecomposition of Ir be given by H^(H)=Q_(N×K)R_(K×K), where Q hasorthonormal columns and R is an upper triangular matrix with realentries on the diagonals. Let u_(k×1) be the vector of user signalschosen from a unit power constellation. A nonlinear operation (to bedescribed later) is applied to u, to obtain a nonlinearly precodedvector v_(K×1). The transmitted signal is given byx_(N×1)=Q_(N×K)v_(K×1), and the received vector containing the receivedsignal of users is given by

$\begin{matrix}{y_{K \times 1} = {{Hx} + z}} \\{= {{R^{H}Q^{H}{Qv}} + z}} \\{{= {{R^{H}v} + z}},}\end{matrix}$

where z is circularly symmetric Gaussian noise vector with covariancematrix R_(z)=N₀I. So the original MU-MIMO channel turns into Linterference sub-channels given by

$\begin{matrix}{{y_{k} = {{r_{kk}v_{k}} + {\sum\limits_{j < k}{r_{jk}^{*}v_{j}}} + z_{k}}},} & {{k = 1},\ldots \mspace{14mu},K,{{{where}\mspace{14mu} r_{jk}} = {\lbrack R\rbrack_{jk}.}}}\end{matrix}$

From this, user k experiences interference only from users j<k. Dirtypaper coding (DPC) can be applied on each sub-channels to cancel theinterference on users. This approach is described in Beal, M.J.,Variational algorithms for approximate Bayesian inference, PhD thesis,Gatsby Computational Neuroscience Unit, University College London, 2003,which is incorporated by reference herein as if reproduced in itsentirety. With DPC, the calculated rate of user k is given by

$r_{k} = {{\log( {1 + \frac{r_{k\; k}^{2}}{K\; N_{0}}} )}.}$

DPC may be too complex for implementation. Tomlinson-Harashima precoding(THP) may be a lower complexity approach for interference cancellation.The nonlinear step of ZF-THP is given by:

v₁ = u₁$v_{2} = {u_{2} - {\frac{r_{12}^{*}}{r_{22}}v_{1}} + {\tau \; l_{2}}}$⋮${v_{K} = {u_{K} - {\frac{r_{{({K - 1})}K}^{*}}{r_{KK}}v_{K - 1}} - \ldots - {\frac{r_{1K}^{*}}{r_{KK}}v_{1}} + {\tau \; l_{K}}}},$

where l₂, . . . , l_(k) are complex integers chosen such that elementsof the nonlinearly precoded vector v remain within the originalconstellation boundaries.

According to this, in order to calculate the calculated rate of users,the diagonal elements of R is calculated. The complexity of thiscalculation is O(N³).

The following is a brief description of the mathematical steps used toachieve aspects of this disclosure as described in FIG. 3. LetH^(H)=Q_(N×K)R_(K×K). Denote the augmented H by H₁ defined as

$H_{1} = {\begin{bmatrix}H \\h_{1}\end{bmatrix}_{{({K + 1})} \times N}.}$

Also, denote the corresponding unitary and upper triangular matricesresulted from QR decomposition of H₁ ^(H) by Q₁ and R₁, respectively. Wenote the following: Q₁=[Q e₁] and

$Q_{1} = {{\lbrack {Q\mspace{14mu} e_{1}} \rbrack_{N \times {({K + 1})}}\mspace{14mu} {and}\mspace{14mu} R_{1}} = {\lfloor {\underset{0\mspace{14mu} \ldots \mspace{14mu} 0}{R}\mspace{14mu} r_{1}} \rfloor_{{({K + 1})} \times {({K + 1})}}.}}$

Therefore, only the last columns of R₁ and Q₁ need to be calculated.This can be done by projecting the last row of the augmented channel tocolumns of Q denoted by q₁, . . . , q_(K) as follows in the nextequations.

${w_{1} = {h_{1}^{H} - {proj}_{q_{1}}^{h_{1}^{H}} - \ldots - {proj}_{q_{K}}^{h_{1}^{H}}}},{{{where}\mspace{14mu} {proj}_{b}^{a}} = {{\frac{\langle{b,a}\rangle}{\langle{b,b}\rangle}b\mspace{14mu} {and}\mspace{14mu} {\langle{a,b}\rangle}} = {a^{H}b}}},$

The last column of Q₁ is then given by

$e_{1} = \frac{w_{1}}{w_{1}}$

and the elements of column r₁ are given by

$\lbrack r_{1} \rbrack_{k} = \{ {\begin{matrix}{\langle{q_{k},h_{1}^{H}}\rangle} & {{k = 1},\ldots \mspace{14mu},K} \\{\langle{e_{1},h_{1}^{H}}\rangle} & {k = {K + 1}}\end{matrix}.} $

Accordingly the computational complexity of QR decomposition of theaugmented channel is reduced from O(N³) to O(N²).

The following is a brief description of the mathematical steps used toachieve aspects of this disclosure as described in FIG. 4. LetH^(H)=Q_(N×K)R_(K×K) and H₁ and H₂ be the augmented matrices defined as

$H_{1} = {{\begin{bmatrix}H \\h_{1}\end{bmatrix}_{{({K + 1})} \times N}\mspace{14mu} {and}\mspace{14mu} H_{2}} = \begin{bmatrix}H \\h_{2}\end{bmatrix}_{{({K + 1})} \times N}}$

with QR decompositions H₁ ^(H)=Q₁R₁ and H₂ ^(H)=Q₂R₂. A low complexitymethod to calculate the QR decomposition of

$H_{12} = {\begin{bmatrix}H \\h_{1} \\h_{2}\end{bmatrix}.}$

Let the QR decomposition of H₁₂ ^(H) be given by H₁₂ ^(H)=Q₁₂R₁₂.Accordingly,

$Q_{12} = {{\begin{bmatrix}Q_{1} & e_{12}\end{bmatrix}_{N \times {({K + 2})}}\mspace{14mu} {and}\mspace{14mu} R_{12}} = \begin{bmatrix}\underset{0\; \ldots \; 0}{R_{1}} & r_{12}\end{bmatrix}_{{({K + 2})} \times {({K + 2})}}}$

are obtained. In order to calculate e₁₂ and r₁₂, previous calculationsfor both H₁ and H₂ are exploited. The steps for calculating e₁₂ and r₁₂are as follows.

$w_{12} = {{\underset{\underset{w_{2}}{}}{h_{2}^{H} - {proj}_{q_{1}}^{h_{2}^{H}} - \ldots - {proj}_{q_{K}}^{h_{2}^{H}}} - {{proj}_{e_{1}}^{h_{2}^{H}}{and}\mspace{14mu} e_{12}}} = {\frac{w_{12}}{w_{12}}.}}$

Moreover w₂ has been calculated in the QR decomposition of H₂ ^(H) soonly one projection is needed and extra calculations can be avoided. Theelements of column r₁₂ are given by

$\lbrack r_{12} \rbrack_{k} = \{ {\begin{matrix}{\langle{q_{k},h_{2}^{H}}\rangle} & {{k = 1},\ldots \mspace{14mu},K} \\{\langle{e_{1},h_{2}^{H}}\rangle} & {k = {K + 1}} \\{\langle{e_{12},h_{2}^{H}}\rangle} & {k = {K + 2}}\end{matrix}.} $

Further, the first K elements of w₂ have been calculated in the QRdecomposition of H₂ ^(H) and only two inner products needs to becalculated. This reduces the computational complexity from O(N³) toO(N).

The following is a brief description of the mathematical steps used toachieve aspects of this disclosure as described in FIG. 5. LetH^(H)=Q_(N×K)R_(K×K), then (HH^(H))⁻¹=R⁻¹R^(−H).

Therefore, we have

$\begin{matrix}{{{tr}( {PP}^{H} )} = {c^{2}{{tr}( {R^{- 1}R^{- H}D^{2}} )}}} \\{{= {c^{2}{\sum\limits_{k = 1}^{K}{d_{k}^{2} \times {\lbrack R^{- 1} \rbrack_{{kth}\mspace{14mu} {row}}}^{2}}}}},}\end{matrix}$

from which

$c = \frac{1}{\sqrt{\sum\limits_{k = 1}^{K}{d_{k}^{2} \times {\lbrack R^{- 1} \rbrack_{{kth}\mspace{14mu} {row}}}^{2}}}}$

is derived. The augmented H by H₁ defined above, as are the unitary andupper triangular matrices resulted from QR decomposition of H₁ ^(H) byQ₁ and R₁, respectively. It can be shown that R₁ ⁻¹ has the followingform

$R_{1}^{- 1} = \lfloor {\underset{0\mspace{14mu} \ldots \mspace{14mu} 0}{R^{- 1}}\mspace{14mu} s} \rfloor$

where the elements of column s should satisfy the following set oflinear equations which are obtained from R₁ ⁻¹R₁=I and

r_(K + 1)s_(K + 1) = 1${{{\sum\limits_{j = k}^{K}{\lbrack R\rbrack_{kj}s_{j}}} + {r_{k}s_{K + 1}}} = {{0\mspace{14mu} k} = 1}},2,{\ldots \mspace{14mu} {K.}}$

From the above equations, we obtain

$s_{K + 1} = {\frac{1}{r_{K + 1}}\mspace{14mu} {and}}$$s_{K} = {\frac{- r_{K}}{\lbrack R\rbrack_{KK}r_{K + 1}}.}$

Suppose s_(K), s_(K−1), . . . , s_(i) are known. The rest of theelements are obtained by successively using the following recurrenceequation

$s_{i - 1} = {\frac{- 1}{\lbrack R\rbrack_{{({i - 1})}{({i - 1})}}}{( {{\sum\limits_{j = 1}^{K}{\lbrack R\rbrack_{{({i - 1})}j}s_{j}}} - \frac{r_{i - 1}}{r_{K + 1}}} ).}}$

Once R₁ ⁻¹ is calculated, the updated scaling factor is obtained from Rreplaced by R₁. The computational complexity using is quadratic with N,thereby reducing the complexity from O(N³) to O(N²).

The following is a brief description of the mathematical steps used toachieve aspects of this disclosure as described in FIG. 6. LetH^(H)=Q_(N×K)R_(K×K) and let H₁, H₂, H₁₂ and their corresponding QRdecompositions are given above. As explained before, we have

$R_{1} = {{\lfloor {\underset{0\mspace{14mu} \ldots \mspace{14mu} 0}{R}\mspace{14mu} r_{1}} \rfloor_{{({K + 1})} \times {({K + 1})}}\mspace{14mu} {and}\mspace{14mu} R_{2}} = {\lfloor {\underset{0\mspace{14mu} \ldots \mspace{14mu} 0}{R}\mspace{14mu} r_{2}} \rfloor_{{({K + 1})} \times {({K + 1})}}.}}$

The first K elements of r₁₂ and r₁ are the same. So, we have

$r_{12} = {\begin{bmatrix}\lbrack r_{2} \rbrack_{1:K} \\\alpha \\\beta\end{bmatrix}.}$

Thereafter, the following matrix identity is used for inverting apartitioned matrix:

$\begin{bmatrix}A_{11} & A_{12} \\A_{21} & A_{22}\end{bmatrix}^{- 1} = {\begin{bmatrix}F_{11}^{- 1} & {{- F_{11}^{- 1}}A_{12}A_{22}^{- 1}} \\{{- A_{22}^{- 1}}A_{21}F_{11}^{- 1}} & F_{22}^{- 1}\end{bmatrix}.}$

Applying the above identity to the above partitioned matrices, R₁ ⁻¹ andR₁ ⁻¹ can be expressed in terms of R₁ and R₂ as

$R_{1}^{- 1} = {\begin{bmatrix}R^{- 1} & {- {{R^{- 1}\lbrack r_{1} \rbrack}_{1:K}\lbrack r_{1} \rbrack}_{K + 1}^{- 1}} \\{00\mspace{14mu} \ldots \mspace{14mu} 0} & \lbrack r_{1} \rbrack_{K + 1}^{- 1}\end{bmatrix}\mspace{14mu} {and}}$ $R_{2}^{- 1} = {\begin{bmatrix}R^{- 1} & {- {{R^{- 1}\lbrack r_{2} \rbrack}_{1:K}\lbrack r_{2} \rbrack}_{K + 1}^{- 1}} \\{00\mspace{14mu} \ldots \mspace{14mu} 0} & \lbrack r_{2} \rbrack_{K + 1}^{- 1}\end{bmatrix}.}$

Additionally, R₁₂ ⁻¹ is expressed as

$R_{12}^{- 1} = {\begin{bmatrix}R_{1}^{- 1} & {{- {R_{1}^{- 1}\begin{bmatrix}\lbrack r_{2} \rbrack_{1:K} \\\alpha\end{bmatrix}}}\beta^{- 1}} \\{00\mspace{14mu} \ldots \mspace{14mu} 0} & \beta^{- 1}\end{bmatrix}.}$

Hence, only

$R_{1}^{- 1}\begin{bmatrix}\lbrack r_{2} \rbrack_{1:K} \\\alpha\end{bmatrix}$

needs to be calculated. We have

$\begin{matrix}{{R_{1}^{- 1}\begin{bmatrix}\lbrack r_{2} \rbrack_{1\text{:}\mspace{14mu} K} \\\alpha\end{bmatrix}} = {\begin{bmatrix}R^{- 1} & {- {{R^{- 1}\lbrack r_{1} \rbrack}_{1\text{:}\mspace{14mu} K}\lbrack r_{1} \rbrack}_{K + 1}^{- 1}} \\{00\mspace{14mu} \ldots \mspace{14mu} 0} & \lbrack r_{1} \rbrack_{K +}^{- 1}\end{bmatrix}\begin{bmatrix}\lbrack r_{2} \rbrack_{1\text{:}\mspace{14mu} K} \\\alpha\end{bmatrix}}} \\{= \begin{bmatrix}{{R^{- 1}\lbrack r_{2} \rbrack}_{1:K} - {\alpha \; {{R^{- 1}\lbrack r_{1} \rbrack}_{1\text{:}\mspace{14mu} K}\lbrack r_{1} \rbrack}_{K + 1}^{- 1}}} \\{\alpha \lbrack r_{1} \rbrack}_{K + 1}^{- 1}\end{bmatrix}}\end{matrix}$

and R⁻¹[r₁]_(1:K) and R⁻¹[r₂]_(1:K) have already been computed.Therefore,

$R_{1}^{- 1}\begin{bmatrix}\lbrack r_{2} \rbrack_{1\text{:}\mspace{14mu} K} \\\alpha\end{bmatrix}$

can be calculated with linear complexity.

FIG. 7 illustrates a block diagram of an embodiment of a communicationsdevice 700, which may be equivalent to one or more devices (e.g., UEs,NBs, etc.) discussed above. The communications device 700 may include aprocessor 704, a memory 706, a cellular interface 710, a supplementalwireless interface 712, and a supplemental interface 714, which may (ormay not) be arranged as shown in FIG. 7. The processor 704 may be anycomponent capable of performing computations and/or other processingrelated tasks, and the memory 706 may be any component capable ofstoring programming and/or instructions for the processor 704. Thecellular interface 710 may be any component or collection of componentsthat allows the communications device 700 to communicate using acellular signal, and may be used to receive and/or transmit informationover a cellular connection of a cellular network. The supplementalwireless interface 712 may be any component or collection of componentsthat allows the communications device 700 to communicate via anon-cellular wireless protocol, such as a Wi-Fi or Bluetooth protocol,or a control protocol. The device 700 may use the cellular interface 710and/or the supplemental wireless interface 712 to communicate with anywirelessly enabled component, e.g., a base station, relay, mobiledevice, etc. The supplemental interface 714 may be any component orcollection of components that allows the communications device 700 tocommunicate via a supplemental protocol, including wire-line protocols.In embodiments, the supplemental interface 714 may allow thecommunications device 700 to communicate with another component, such asa backhaul network component.

While this invention has been described with reference to illustrativeembodiments, this description is not intended to be construed in alimiting sense. Various modifications and combinations of theillustrative embodiments, as well as other embodiments of the invention,will be apparent to persons skilled in the art upon reference to thedescription. It is therefore intended that the appended claims encompassany such modifications or embodiments.

What is claimed:
 1. A method of user selection in a communicationsnetwork, the method comprising: selecting users for an initial usergroup; computing initial modulation coding schemes (MCSs) for users inthe initial user group, wherein computing the initial MCSs for the usersin the initial user group includes performing an initial QRdecomposition operation for the initial user group; adding a new user tothe initial user group to obtain a new user group; and computing a newMCS for the new user in the new user group, wherein computing the newMCS for the new user includes calculating the new MCS directly usinginformation obtained from the initial QR decomposition operation andwithout performing a QR decomposition operation for the new user group.2. The method of claim 1, wherein performing the initial QRdecomposition operation for the initial user group comprises performingQR decomposition on an initial Hermitian matrix (H^(H)) associated withthe initial user group to obtain an initial unitary matrix (Q) and aninitial upper triangular matrix (R), and wherein calculating the new MCScomprises computing a last column (r₁) of a new upper triangular matrix(R₁) corresponding to the new user group directly from the initialunitary matrix (Q) and the initial upper triangular matrix (R).
 3. Anapparatus comprising: a processor; and a computer readable storagemedium storing programming for execution by the processor, theprogramming including instructions to: select users for an initial usergroup; compute initial modulation coding schemes (MCSs) for users in theinitial user group, wherein the instruction to compute the initial MCSsfor the users in the initial user group includes instructions to performan initial QR decomposition operation for the initial user group; add anew user to the initial user group to obtain a new user group; andcompute a new MCS for the new user in the new user group, wherein theinstruction to compute the new MCS for the new user includesinstructions to calculate the new MCS directly using informationobtained from the initial QR decomposition operation and withoutperforming a QR decomposition operation for the new user group.
 4. Theapparatus of claim 3, wherein the instruction to perform the initial QRdecomposition operation for the initial user group includes instructionsto perform QR decomposition on an initial Hermitian matrix (H^(H))associated with the initial user group to obtain an initial unitarymatrix (Q) and an initial upper triangular matrix (R), and wherein theinstruction to calculate the new MCS includes instructions to compute alast column (r₁) of a new upper triangular matrix (R₁) corresponding tothe new user group directly from the initial unitary matrix (Q) and theinitial upper triangular matrix (R).
 5. A method of user selection in acommunications network, the method comprising: selecting users for aninitial user group; performing QR decomposition on an initial Hermitianmatrix (H^(H)) associated with the initial user group to obtain aninitial unitary matrix (Q) and an initial upper triangular matrix (R);adding a new user to the initial user group to obtain a new user group,the new user group associated with a new Hermitian matrix (H₁ ^(H)); andperforming modulation coding scheme (MCS) adaptation for the new usergroup, wherein performing MCS adaptation for the new user groupincludes: computing a last column (r₁) of a new upper triangular matrix(R₁) corresponding to the new Hermitian matrix (H₁ ^(H)) directly fromat least the initial unitary matrix (Q) and the initial upper triangularmatrix (R), thereby obtaining the new upper triangular matrix (R₁)without performing QR decomposition on the new Hermitian matrix (H₁^(H)); and calculating MCSs for users in the new user group inaccordance with the new upper triangular matrix (R₁).
 6. The method ofclaim 4, wherein computing the last column (r₁) of the new uppertriangular matrix (R₁) comprises: computing a last column (e₁) of a newunitary matrix (Q₁) corresponding to the new Hermitian matrix (H₁ ^(H))directly from the initial unitary matrix (Q) without performing QRdecomposition on the new Hermitian matrix (H₁ ^(H)); and computing thelast column (r₁) of the new upper triangular matrix (R₁) in accordancewith the last column (e₁) of the new unitary matrix (Q₁).
 7. The methodof claim 6, wherein computing the last column (e₁) of the new unitarymatrix (Q₁) comprises: computing the last column (e₁) of the new unitarymatrix (Q₁) in accordance with the formula:${e_{1} = \frac{h_{1}^{H} - {\sum\limits_{k = 1}^{K}{proj}_{q_{k}}^{h_{1}^{H}}}}{{h_{1}^{H} - {\sum\limits_{k = 1}^{K}{proj}_{q_{k}}^{h_{1}^{H}}}}}},$where h₁ ^(H) is a column in the new Hermitian matrix (H₁ ^(H))corresponding to the new user, proj_(q) _(k) ^(h) ¹ ^(H) is a vectorprojection of the h₁ ^(H) onto a k^(th) column (q_(k)) of the initialunitary matrix (Q), and K is a number of users in the initial usergroup.
 8. The method of claim 7, wherein computing the last column (r₁)of the new upper triangular matrix (R₁) comprises: computing elements ofthe last column (r₁) of the new upper triangular matrix (R₁) inaccordance with the following formula:$\lbrack r_{1} \rbrack_{k} = \{ \begin{matrix}{{< q_{k}},{h_{1}^{H} >}} & {{k = 1},\ldots \mspace{14mu},K} \\{{< e_{1}},{h_{1}^{H} >}} & {{k = {K + 1}},}\end{matrix} $ where [r₁]_(k) is a value for a k^(th) element ofthe last column (r₁) of the new upper triangular matrix (R₁), and where(K+1) is a number of users in the new user group.
 9. The method of claim8, wherein calculating the MCSs for users in the new user groupcomprises: calculating Shannon rates for users in the new user group inaccordance with the formula:${r_{k} = {\log( {1 + \frac{r_{kk}^{2}}{{KN}_{0}}} )}},$where r_(k) is a Shannon rate for a k^(th) user in the new user group,and N₀ is a noise power; and obtaining the MCSs for users in the newuser group in accordance with a mapping relationship with the Shannonrates for users in the new user group.
 10. An apparatus comprising: aprocessor; and a computer readable storage medium storing programmingfor execution by the processor, the programming including instructionsto: select users for an initial user group; perform QR decomposition onan initial Hermitian matrix (H^(H)) associated with the initial usergroup to obtain an initial unitary matrix (Q) and an initial uppertriangular matrix (R); add a new user to the initial user group toobtain a new user group, the new user group associated with a newHermitian matrix (H₁ ^(H)); and perform modulation coding scheme (MCS)adaptation for the new user group, wherein the instructions to performMCS adaptation for the new user group includes instructions to: computea last column (r₁) of a new upper triangular matrix (R₁) correspondingto the new Hermitian matrix (H₁ ^(H)) directly from at least the initialunitary matrix (Q) and the initial upper triangular matrix (R), therebyobtaining the new upper triangular matrix (R₁) without performing QRdecomposition on the new Hermitian matrix (H₁ ^(H)); and predict MCSsfor users in the new user group in accordance with the new uppertriangular matrix (R₁).
 11. A method of user selection in acommunications network, the method comprising: adding a first new userto an initial user group to obtain a first new user group, the first newuser group associated with a first new Hermitian matrix (H₁ ^(H));computing a first new unitary matrix (Q₁) and a first new uppertriangular matrix (R₁) corresponding to the first new Hermitian matrix(H₁ ^(H)); adding a second new user to the initial user group to obtaina second new user group, the second new user group associated with asecond new channel matrix (H₂); computing a second new unitary matrix(Q₂) and a second new upper triangular matrix (R₂) corresponding to thesecond new Hermitian matrix (H₂ ^(H)); adding both the first new userand the second new user to the initial user group to obtain a third newuser group, the third new user group associated with a third new channelmatrix (H₁₂); and performing modulation coding scheme (MCS) adaptationfor the third new user group, wherein performing MCS adaptation for thethird new user group includes: computing a last column (r₁₂) of a thirdnew upper triangular matrix (R₁₂) corresponding to the third new channelmatrix (H₁₂) directly from at least the first new unitary matrix (Q₁),the first new upper triangular matrix (R₁), the second new unitarymatrix (Q₂), and the second new upper triangular matrix (R₂), therebyobtaining the third new upper triangular matrix (R₁₂) without performingQR decomposition on the third new Hermitian matrix (H₁₂ ^(H)); andpredicting MCSs for users in the new user group in accordance with thethird new upper triangular matrix (R₁₂).
 12. The method of claim 11,wherein computing the last column (r₁₂) of the third new uppertriangular matrix (R₁₂) comprises: computing a last column (e₁₂) of athird new unitary matrix (Q₁₂) corresponding to the third new Hermitianmatrix (H₁₂ ^(H)) directly from the first new unitary matrix (Q₁) andthe second new unitary matrix (Q₂) without performing QR decompositionon the third new Hermitian matrix (H₁₂ ^(H)); and computing the lastcolumn (r₁₂) of the third new upper triangular matrix (R₁₂) inaccordance with the last column (e₁₂) of the new unitary matrix (Q₁₂).13. The method of claim 11, wherein computing the last column (e₁₂) ofthe third new unitary matrix (Q₁₂) comprises: computing the last column(e12) of the third new unitary matrix (Q12) in accordance with theformula:${e_{12} = \frac{h_{2}^{H} - {\sum\limits_{k = 1}^{K + 1}{proj}_{q_{k}}^{h_{2}^{H}}}}{{h_{2}^{H} - {\sum\limits_{k = 1}^{K + 1}{proj}_{q_{k}}^{h_{2}^{H}}}}}},$where h₂ ^(H) is a column in the third Hermitian matrix (H₁₂ ^(H))corresponding to the second new user, proj_(q) _(k) ^(h) ² ^(H) is avector projection of the h₂ ^(H) onto a k^(th) column (q_(k)) of thefirst unitary matrix (Q₁), and K is a number of users in the initialuser group.
 14. The method of claim 13, wherein computing the lastcolumn (r₁₂) of the third new upper triangular matrix (R₁₂) comprises:computing a last column (r₁₂) of the third new upper triangular matrix(R₁₂) in accordance with the following formula:$\lbrack r_{12} \rbrack_{k} = \{ \begin{matrix}{{< q_{k}},{h_{12}^{H} >}} & {{k = 1},\ldots \mspace{14mu},K} \\{{< e_{1}},{h_{12}^{H} >}} & {k = {K + 1}} \\{{< e_{12}},{h_{12}^{H} >}} & {{k = {K + 2}},}\end{matrix} $ where [r₁₂]_(k) is a value for a k^(th) element ofthe last column (r₁₂) of the third upper triangular matrix (R₁₂), h₂^(H) is a diagonal element of the third new Hermitian matrix (H₁₂ ^(H)),(K+1) is a number of users in the first new user group, and (K+2) is anumber of users in the third new user group.
 15. The method of claim 14,wherein predicting the MCS for users in the third new user groupcomprises: computing a predicted rate for each user in the third newuser group in accordance with the formula:${r_{k} = {\log( {1 + \frac{r_{kk}^{2}}{{KN}_{0}}} )}},$where r_(k) is a predicted rate for a k^(th) user in the new user group,and N₀ is a noise power.
 16. A method of user selection in acommunications network, the method comprising: selecting users for aninitial user group, wherein an initial channel matrix (H) corresponds tothe initial user group and a transmitter; performing QR decomposition onan initial Hermitian matrix (H^(H)) associated with the initial usergroup to obtain an initial unitary matrix (Q) and an initial uppertriangular matrix (R); inverting the upper triangular matrix (R) toobtain an initial inverted upper triangular matrix (R⁻¹); adding a newuser to the initial user group to obtain a new user group, the new usergroup associated with a new Hermitian matrix (H₁ ^(H)); and performingmodulation coding scheme (MCS) adaptation for the new user group,wherein performing MCS adaptation for the new user group includes:computing a new unitary matrix (Q₁) and a new upper triangular matrix(R₁) corresponding to the new Hermitian matrix (H₁ ^(H)); computing alast column (s₁) of a new inverted upper triangular matrix (R₁ ⁻¹)corresponding to the new upper triangular matrix (R₁) directly from atleast the new unitary matrix (Q₁) and a last column (r₁) of the newupper triangular matrix (R₁), thereby obtaining the new inverted uppertriangular matrix (R₁ ⁻¹) without performing matrix inversion on the newupper triangular matrix (R₁); and predicting MCSs for users in the newuser group in accordance with the new inverted upper triangular matrix(R₁ ⁻¹).
 17. The method of claim 16, wherein computing the last column(s₁) of a new inverted upper triangular matrix (R₁ ⁻¹) corresponding tothe new upper triangular matrix (R₁) comprises: computing the lastcolumn (s₁) of the new inverted upper triangular matrix (R₁ ⁻¹) inaccordance with the formula:$\lbrack s_{1} \rbrack_{k} = \{ \begin{matrix}{{\frac{- 1}{\lbrack R\rbrack_{{(k)}{(k)}}}( {{\sum\limits_{j = {k + 1}}^{K}{\lbrack R\rbrack_{{(k)}j}\lbrack s_{1} \rbrack}_{j}} - \frac{\lbrack r_{1} \rbrack_{k}}{\lbrack r_{1} \rbrack_{K + 1}}} )},} & {{k = 1},\ldots \mspace{14mu},( {K - 1} )} \\{\frac{- \lbrack r_{1} \rbrack_{K}}{{\lbrack R\rbrack_{KK}\lbrack r_{1} \rbrack}_{K + 1}},} & {k = K} \\{\frac{1}{\lbrack r_{1} \rbrack_{K + 1}},} & {{k = {K + 1}},}\end{matrix} $ where [s₁]_(k) is a value for a k^(th) element ofthe last column (s₁) of the new inverted upper triangular matrix (R₁⁻¹), [R]_((k)(k)) is a diagonal element of a k^(th) row of the new uppertriangular matrix (R₁ ⁻¹); [R k^(th)]_((k)j) is a j^(th) element of thek^(th) row of the new upper triangular matrix (R₁),$\frac{\lbrack r_{1} \rbrack_{k}}{\lbrack r_{1} \rbrack_{K + 1}}$is a ratio of the k^(th) element of the last column of the new uppertriangular matrix (R₁) to the bottom most element of the last column(r₁) of the new upper triangular matrix (R₁), and (K+1) is a number ofusers in the new user group.
 18. An apparatus comprising: a processor;and a computer readable storage medium storing programming for executionby the processor, the programming including instructions to: selectusers for an initial user group, wherein an initial channel matrix (H)corresponds to the initial user group and a transmitter; perform QRdecomposition on an initial Hermitian matrix (H^(H)) associated with theinitial user group to obtain an initial unitary matrix (Q) and aninitial upper triangular matrix (R); invert the upper triangular matrix(R) to obtain an initial inverted upper triangular matrix (R⁻¹); add anew user to the initial user group to obtain a new user group, the newuser group associated with a new Hermitian matrix (H₁ ^(H)); and performmodulation coding scheme (MCS) adaptation for the new user group,wherein the instructions to perform MCS adaptation for the new usergroup includes instructions to: compute an new unitary matrix (Q₁) and anew upper triangular matrix (R₁) corresponding to the new Hermitianmatrix (H₁ ^(H)); compute a last column (s₁) of a new inverted uppertriangular matrix (R₁ ⁻¹) corresponding to the new upper triangularmatrix (R₁) directly from at least the new unitary matrix (Q₁) and alast column (r₁) of the new upper triangular matrix (R₁), therebyobtaining the new inverted upper triangular matrix (R₁ ⁻¹) withoutperforming matrix inversion on new upper triangular matrix (R₁); andpredict MCSs for users in the new user group in accordance with the newinverted upper triangular matrix (R₁ ⁻¹).
 19. The apparatus of claim 18,wherein the instructions to compute the last column (s₁) of the newinverted upper triangular matrix (R₁ ⁻¹) corresponding to the new uppertriangular matrix (R₁) comprise instructions to: compute the last column(s₁) of the new inverted upper triangular matrix (R₁ ⁻¹) in accordancewith the formula:$\lbrack s_{1} \rbrack_{k} = \{ \begin{matrix}{{\frac{- 1}{\lbrack R\rbrack_{{(k)}{(k)}}}( {{\sum\limits_{j = {k + 1}}^{K}{\lbrack R\rbrack_{{(k)}j}\lbrack s_{1} \rbrack}_{j}} - \frac{\lbrack r_{1} \rbrack_{k}}{\lbrack r_{1} \rbrack_{K + 1}}} )},} & {{k = 1},\ldots \mspace{14mu},( {K - 1} )} \\{\frac{- \lbrack r_{1} \rbrack_{K}}{{\lbrack R\rbrack_{KK}\lbrack r_{1} \rbrack}_{K + 1}},} & {k = K} \\{\frac{1}{\lbrack r_{1} \rbrack_{K + 1}},} & {{k = {K + 1}},}\end{matrix} $ where [s₁]_(k) is a value for a k^(th) element ofthe last column (s₁) of the new inverted upper triangular matrix (R₁⁻¹), [R]_((k)(k)) is a diagonal element of a k^(th) row of the new uppertriangular matrix (R₁); [R]_((k)j), is a j^(th) element of the k^(th)row of the new upper triangular matrix (R₁),$\frac{\lbrack r_{1} \rbrack_{k}}{\lbrack r_{1} \rbrack_{K + 1}}$is a ratio of the k^(th) element of the last column of the new uppertriangular matrix (R₁) to the bottom-most element of the last column(r₁) of the new upper triangular matrix (R₁), and (K+1) is a number ofusers in the new user group.
 20. A method of user selection in acommunications network, the method comprising: adding a first new userto an initial user group to obtain a first new user group, the first newuser group associated with a first new Hermitian matrix (H₁ ^(H)); andcomputing a first new inverted upper triangular matrix (R₁ ⁻¹)corresponding to the first new Hermitian matrix (H₁ ^(H)); adding asecond new user to the initial user group to obtain a second new usergroup, the second new user group associated with a second new channelmatrix (H₂); computing a second new inverted upper triangular matrix (R₂⁻¹) corresponding to the second new Hermitian matrix (H₂ ^(H)); addingboth the first new user and the second new user to the initial usergroup to obtain a third new user group, the third new user groupassociated with a third new channel matrix (H₁₂); and performingmodulation coding scheme (MCS) adaptation for the third new user group,wherein performing MCS adaptation for the third new user group includes:computing a third new unitary matrix (Q₁₂) and a third new uppertriangular matrix (R₁₂) corresponding to the third new Hermitian matrix(H₁₂ ^(H)); computing a last column (s₁₂) of a third new inverted uppertriangular matrix (R₁₂ ⁻¹) corresponding to the third new uppertriangular matrix (R₁₂) directly from at least the first new invertedupper triangular matrix (R₁ ⁻¹), a last column (s₁₂) of the second newinverted upper triangular matrix (R₂ ⁻¹), the third new Hermitian matrix(H₁₂ ^(H)), and the third new unitary matrix (Q₁₂), thereby obtainingthe third new inverted upper triangular matrix (R₁₂ ⁻¹) withoutperforming matrix inversion on the third new upper triangular matrix(R₁₂); and predicting MCSs for users in the third new user group inaccordance with the third new inverted upper triangular matrix (R₁₂ ⁻¹).21. The method of claim 20, wherein computing the last column (s₁₂) ofthe third new inverted upper triangular matrix (R₁₂ ⁻¹) comprises:computing the last column (s₁₂) of the third new inverted uppertriangular matrix (R₁₂ ⁻¹) in accordance with the formula:${s_{12} = \begin{bmatrix}{{- {R_{1}^{- 1}\begin{bmatrix}\lbrack r_{2} \rbrack_{1\text{:}\mspace{14mu} K} \\\alpha\end{bmatrix}}}\beta^{- 1}} \\\beta^{- 1}\end{bmatrix}},{{where} - {{R_{1}^{- 1}\begin{bmatrix}\lbrack r_{2} \rbrack_{1\text{:}\mspace{14mu} K} \\\alpha\end{bmatrix}}\beta^{- 1}}}$ is a vector corresponding to the first K+1elements of the last column (s₁₂) of the new inverted upper triangularmatrix (R₁₂ ⁻¹), where β⁻¹ is the last element of the last column (s₁₂)of the new inverted upper triangular matrix (R₁₂ ⁻¹), R₁ ⁻¹ is the firstnew inverted upper triangular matrix, [rd]_(1:K) is a column vectorcontaining the first K elements of the last column of the second uppertriangular matrix (R₂), α is the inner product (<e₁, h₂ ^(H)>) of thesecond to last column (e₁) of the third new unitary matrix (Q₁₂) and thelast column of (h₂ ^(H)) of third new Hermitian matrix (H₁₂ ^(H)), and βis the inner product (<e₁₂, h₂ ^(H)>) of the last column (e₁₂) of thethird new unitary matrix (Q₁₂), and the last column of (h₂ ^(H)) ofthird new Hermitian matrix (H₁₂ ^(H)).
 22. The method of claim 20,wherein computing the last column (s₁₂) of the third new inverted uppertriangular matrix (R₁₂ ⁻¹) comprises: computing the last column (s₁₂) ofthe third new inverted upper triangular matrix (R₁₂ ⁻¹) in accordancewith the formulas:$\lbrack s_{12} \rbrack_{{1\text{:}\mspace{14mu} K} + 1} = {{- \begin{bmatrix}{{R^{- 1}\lbrack r_{2} \rbrack}_{1\text{:}\mspace{14mu} K} - {\alpha \; {{R^{- 1}\lbrack r_{1} \rbrack}_{1\text{:}\mspace{14mu} K}\lbrack r_{1} \rbrack}_{K + 1}^{- 1}}} \\{\alpha \lbrack r_{1} \rbrack}_{K + 1}^{- 1}\end{bmatrix}}\beta^{- 1}}$ and[s₁₂]_(K + 2) = β⁻¹, where[s₁₂]_(1:K+1) is a column vector containing the first K+1 elements ofthe last column (s₁₂) the last column (s₁₂) of the third new invertedupper triangular matrix (R₁₂ ⁻¹), [s₁₂]_(K+2) is the last element of thelast column (s₁₂) of the third new inverted upper triangular matrix (R₁₂⁻¹), R⁻¹ is an initial inverted upper triangular matrix associated withthe initial user group, [r₂]_(1:K) is a column vector containing thefirst K elements of the last column of the second upper triangularmatrix (R₂), [r₁]_(1:K) is a column vector containing the first Kelements of the last column of the first upper triangular matrix (R₁),[r₁]_(K+1) ⁻¹ is the inverse of [r₁]_(K+1), α is the inner product(<e₁,h₂ ^(H)>) of the second to last column (e₁) of the third newunitary matrix (Q₁₂) and the last column of (h₂ ^(H)) of third newHermitian matrix (H₁₂ ^(H)), β is the inner product (<e₁₂,h₂ ^(H)>) ofthe last column (e₁₂) of the third new unitary matrix (Q₁₂), and thelast column of (h₂ ^(H)) of third new Hermitian matrix (H₁₂ ^(H)), andβ⁻¹ is the inverse of β.
 23. The method of claim 20, wherein computingthe last column (s₁₂) of the third new inverted upper triangular matrix(R₁₂ ⁻¹) comprises: obtaining the first K elements ([s₁]_(1:K)) of thelast column (s₁₂) of the third new inverted upper triangular matrix (R₁₂⁻¹) by: obtaining a first column vector by multiplying the first Kelements ([s₂]_(1:K)) of the last column of the second new invertedupper triangular matrix (R₂ ⁻¹) by the product of β⁻¹ and the lastelement ([r₂]_(K+1)) of the second upper triangular matrix (R₂);obtaining a second column vector by multiplying the first K elements([s]_(1:K)) of the last column of the first new inverted uppertriangular matrix (R₁ ⁻¹) by; and adding the first column vector and thesecond column vector to obtain the first K elements of s₁₂; obtaining asecond to last element ([s₁₂]_(K+1)) of the last column (s₁₂) of thethird new inverted upper triangular matrix (R₁₂ ⁻¹) in accordance withthe formula: [s₁₂]_(K+1)=αβ⁻¹[r₁]_(K+1) ⁻¹; and obtaining a last element([s₁₂]_(K+2)) of the last column (s₁₂) of the third new inverted uppertriangular matrix (R₁₂ ⁻¹) in accordance with the formula:[s₁₂]_(K+2)=β⁻¹, where [r₂]_(K+1) is a last element of the second uppertriangular matrix (R₂); [r₁]_(K+1) ⁻¹ is the inverse of [r₂]_(K+1), α isthe inner product (<e₁,h₂ ^(H)>) of the second to last column (e₁) ofthe third new unitary matrix (Q₁₂), and the last column of (h₂ ^(H)) ofthird new Hermitian matrix (H₁₂ ^(H)), and β is the inner product(<e₁₂,h₂ ^(H)>) of the last column (e₁₂) of the third new unitary matrix(Q₁₂), and the last column of (h₂ ^(H)) of third new Hermitian matrix(H₁₂ ^(H)), and β⁻¹ is the inverse of β.